<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>dinic: Referencia del Archivo plist.h</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generado por Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Página&nbsp;principal</span></a></li>
      <li><a href="annotated.html"><span>Estructuras&nbsp;de&nbsp;Datos</span></a></li>
      <li class="current"><a href="files.html"><span>Archivos</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Buscar" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>Lista&nbsp;de&nbsp;archivos</span></a></li>
      <li><a href="globals.html"><span>Globales</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Referencia del Archivo plist.h</h1>
<p>&lt; PList maneja un lista simple de doble entrada de punteros a elementos de cualquier tipo (void*) &gt;  
<a href="#_details">Más...</a></p>
<code>#include &lt;stdbool.h&gt;</code><br/>

<p><a href="plist_8h_source.html">Ir al código fuente de este archivo.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Tipos definidos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structplist__s.html">plist_s</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#a3df5c3e11505712b464a32350aa7c54a">plist_t</a></td></tr>
<tr><td colspan="2"><h2>Funciones</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#ad3b09323344e99e2ccb09a5e2fc917e5">plist_create</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Crea una nueva lista.  <a href="#ad3b09323344e99e2ccb09a5e2fc917e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#a72bd4ee403ebd997d42759193a744afe">plist_destroy</a> (<a class="el" href="structplist__s.html">plist_t</a> *list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Elimina una lista, incluyendo los elementos que contenga.  <a href="#a72bd4ee403ebd997d42759193a744afe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#aa937c43dc0fdbd0f6d85dc93e2055129">plist_push</a> (<a class="el" href="structplist__s.html">plist_t</a> list, void *elem)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Añade un elemento en la parte delantera de la lista.  <a href="#aa937c43dc0fdbd0f6d85dc93e2055129"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#ace5353211068a02e7f3c8b5b43f4a5e9">plist_pop</a> (<a class="el" href="structplist__s.html">plist_t</a> list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Quita el primer elemento de la lista.  <a href="#ace5353211068a02e7f3c8b5b43f4a5e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#ae3b6b6dc91dc111c3be62034e211d626">plist_append</a> (<a class="el" href="structplist__s.html">plist_t</a> list, void *elem)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Añade un elemento en la parte trasera de la lista.  <a href="#ae3b6b6dc91dc111c3be62034e211d626"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#ab3179205df8ca08d53ab207a302fce5e">plist_remove_last</a> (<a class="el" href="structplist__s.html">plist_t</a> list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Quita el ultimo elemento que fue añadido detras de la lista. Siendo una lista simple, solo funciona con el ultimo añadido (no elimina anteriores).  <a href="#ab3179205df8ca08d53ab207a302fce5e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#a1561662a0167449ba2993385b0ca6730">plist_is_empty</a> (<a class="el" href="structplist__s.html">plist_t</a> list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifica si la lista carece de elementos.  <a href="#a1561662a0167449ba2993385b0ca6730"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#aed0000886ff7825cd317a6e46c08c57b">plist_rewind</a> (<a class="el" href="structplist__s.html">plist_t</a> list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hace que la inspeccion apunte al primer elemento de la lista.  <a href="#aed0000886ff7825cd317a6e46c08c57b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#a04d8c0fde97f9acd58bd13e1de967b97">plist_get_next</a> (<a class="el" href="structplist__s.html">plist_t</a> list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Devuelve el siguiente elemento en la inspeccion de la lista.  <a href="#a04d8c0fde97f9acd58bd13e1de967b97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plist_8h.html#a5a0e1aa0c50d3e7b1a9137098a31189b">plist_get_last</a> (<a class="el" href="structplist__s.html">plist_t</a> list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Devuelve el ultimo elemento de la lista.  <a href="#a5a0e1aa0c50d3e7b1a9137098a31189b"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Descripción detallada</h2>
<p>&lt; PList maneja un lista simple de doble entrada de punteros a elementos de cualquier tipo (void*) &gt; </p>
<hr/><h2>Documentación de los tipos definidos</h2>
<a class="anchor" id="a3df5c3e11505712b464a32350aa7c54a"></a><!-- doxytag: member="plist.h::plist_t" ref="a3df5c3e11505712b464a32350aa7c54a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structplist__s.html">plist_s</a>* <a class="el" href="structplist__s.html">plist_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Documentación de las funciones</h2>
<a class="anchor" id="ae3b6b6dc91dc111c3be62034e211d626"></a><!-- doxytag: member="plist.h::plist_append" ref="ae3b6b6dc91dc111c3be62034e211d626" args="(plist_t list, void *elem)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool plist_append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>elem</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Añade un elemento en la parte trasera de la lista. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>Elemento. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>True siempre </dd></dl>

</div>
</div>
<a class="anchor" id="ad3b09323344e99e2ccb09a5e2fc917e5"></a><!-- doxytag: member="plist.h::plist_create" ref="ad3b09323344e99e2ccb09a5e2fc917e5" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structplist__s.html">plist_t</a> plist_create </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Crea una nueva lista. </p>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>Nueva lista. </dd></dl>

</div>
</div>
<a class="anchor" id="a72bd4ee403ebd997d42759193a744afe"></a><!-- doxytag: member="plist.h::plist_destroy" ref="a72bd4ee403ebd997d42759193a744afe" args="(plist_t *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int plist_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Elimina una lista, incluyendo los elementos que contenga. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd>
<dd>
<code> (*list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>0 siempre </dd></dl>

</div>
</div>
<a class="anchor" id="a5a0e1aa0c50d3e7b1a9137098a31189b"></a><!-- doxytag: member="plist.h::plist_get_last" ref="a5a0e1aa0c50d3e7b1a9137098a31189b" args="(plist_t list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* plist_get_last </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Devuelve el ultimo elemento de la lista. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>Elemento. </dd></dl>

</div>
</div>
<a class="anchor" id="a04d8c0fde97f9acd58bd13e1de967b97"></a><!-- doxytag: member="plist.h::plist_get_next" ref="a04d8c0fde97f9acd58bd13e1de967b97" args="(plist_t list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* plist_get_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Devuelve el siguiente elemento en la inspeccion de la lista. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>Elemento. </dd></dl>

</div>
</div>
<a class="anchor" id="a1561662a0167449ba2993385b0ca6730"></a><!-- doxytag: member="plist.h::plist_is_empty" ref="a1561662a0167449ba2993385b0ca6730" args="(plist_t list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool plist_is_empty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifica si la lista carece de elementos. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>True si esta vacia </dd></dl>

</div>
</div>
<a class="anchor" id="ace5353211068a02e7f3c8b5b43f4a5e9"></a><!-- doxytag: member="plist.h::plist_pop" ref="ace5353211068a02e7f3c8b5b43f4a5e9" args="(plist_t list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* plist_pop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Quita el primer elemento de la lista. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>Elemento. </dd></dl>

</div>
</div>
<a class="anchor" id="aa937c43dc0fdbd0f6d85dc93e2055129"></a><!-- doxytag: member="plist.h::plist_push" ref="aa937c43dc0fdbd0f6d85dc93e2055129" args="(plist_t list, void *elem)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool plist_push </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>elem</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Añade un elemento en la parte delantera de la lista. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>Elemento. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>True Siempre </dd></dl>

</div>
</div>
<a class="anchor" id="ab3179205df8ca08d53ab207a302fce5e"></a><!-- doxytag: member="plist.h::plist_remove_last" ref="ab3179205df8ca08d53ab207a302fce5e" args="(plist_t list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* plist_remove_last </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Quita el ultimo elemento que fue añadido detras de la lista. Siendo una lista simple, solo funciona con el ultimo añadido (no elimina anteriores). </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>
<dl class="return"><dt><b>Devuelve:</b></dt><dd>Elemento. </dd></dl>

</div>
</div>
<a class="anchor" id="aed0000886ff7825cd317a6e46c08c57b"></a><!-- doxytag: member="plist.h::plist_rewind" ref="aed0000886ff7825cd317a6e46c08c57b" args="(plist_t list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void plist_rewind </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplist__s.html">plist_t</a>&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Hace que la inspeccion apunte al primer elemento de la lista. </p>
<dl><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Lista. </td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondición:</b></dt><dd><code> (list != NULL) </code> </dd></dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Estructuras de Datos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Archivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Tipos definidos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Definiciones</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generado el Mon Jun 6 20:15:28 2011 para dinic por&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
